package com.yuyou.fn.educational.service;

import com.github.wens.mybatisplus.plugins.Page;
import com.yuyou.fn.educational.entity.ChargeSetting;
import com.github.wens.framework.service.ISuperService;
import com.yuyou.fn.educational.entity.Period;
import com.yuyou.fn.educational.entity.Product;
import com.yuyou.fn.educational.vo.ChargeSettingQueryVo;
import com.yuyou.fn.educational.vo.ChargeSettingSaveUpdateVo;

import java.util.List;
import java.util.Map;

/**
 *
 * ChargeSetting 表数据服务层接口
 *
 */
public interface IChargeSettingService extends ISuperService<ChargeSetting,Long> {

    Page<ChargeSetting> findChargeSettingPageByQueryVo(ChargeSettingQueryVo chargeSettingQueryVo,int pageNo,int pageSize);

    void saveOrUpdateChargeSettingByVo(ChargeSettingSaveUpdateVo chargeSettingSaveUpdateVo);

    List<ChargeSetting> findByPeriodIdChargeSegmentStatus(Long periodId,Integer chargeSegment,Integer status);

    void checkHaveSetting(List<Long> checkProductIds, Map<Long, Product> productMap, Long periodId, Integer chargeSegment, Long chargeSettingId) ;
}